Methods and apparatus for injury prediction based on machine learning techniques

ABSTRACT

Systems and methods of the present disclosure enable injury prediction using one or more processors for receiving a time-varying signal of sensor measurements from a sensor device associated with a user. The processor(s) generate time windows of the time-varying signal, including a series of the sensor measurements across a predetermined time period, and generate motion features based at least in part on the series of the sensor measurements of the time windows. The processor(s) utilize an injury risk classification machine learning model to predict an injury risk during each time window based at least in part on the motion features. An injury alert message is generated based at least in part on the injury risk being predicted; and transmitting the injury alert message to at least one user computing device.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/395,152, filed Aug. 5, 2021 and entitled “METHODS AND APPARATUS FORINJURY PREDICTION BASED ON MACHINE LEARNING TECHNIQUES”, which claimspriority to U.S. Provisional Application No. 63/061,403, filed Aug. 5,2020 and entitled “METHODS AND APPARATUS FOR INJURY PREDICTION BASED ONMACHINE LEARNING TECHNIQUES,” which are incorporated herein by referencein their entirety.

BACKGROUND OF TECHNOLOGY

Injury prediction is a non-linear complex task as there are multiplefactors measurable and not measurable that can cause an injury.

SUMMARY OF DESCRIBED SUBJECT MATTER

Some embodiments are directed to an apparatus. The apparatus includes aprocessor; a set of sensors; and a non-transitory memory storinginstructions which, when executed by the processor, causes the processorto capture raw sensor data while a user performs a series of activitieswearing the set of sensors for a predetermined time. The apparatusconverts the raw sensor data into a set of feature values. The apparatusinputs the set of feature values into a trained machine learning model.Thereafter, the trained machine learning model identifies a percentageof the predetermined time correlated with a likelihood that the userwill suffer an injury, and transmit to the user at least one actioninsight message comprising a recommendation to decrease the likelihoodthat the user will suffer the injury.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of the present disclosure can be further explainedwith reference to the attached drawings, wherein like structures arereferred to by like numerals throughout the several views. The drawingsshown are not necessarily to scale, with emphasis instead generallybeing placed upon illustrating the principles of the present disclosure.Therefore, specific structural and functional details disclosed hereinare not to be interpreted as limiting, but merely as a representativebasis for teaching one skilled in the art one or more illustrativeembodiments.

FIGS. 1-7 show one or more schematic flow diagrams, certaincomputer-based architectures, and/or implementations which areillustrative of some examples of aspects of at least some embodiments ofthe present disclosure.

DETAILED DESCRIPTION

Various detailed embodiments of the present disclosure, taken inconjunction with the accompanying figures, are disclosed herein;however, it is to be understood that the disclosed embodiments aremerely illustrative. In addition, each of the examples given about thevarious embodiments of the present disclosure is intended to beillustrative, and not restrictive.

FIGS. 1 through 7 illustrate computer based systems and methods forinjury predictions based on machine learning techniques.

A technical problem with the prediction of injuries is that there is alack of devices that can collect data from individuals before, during,and after the injury. Moreover, injury prediction is a non-linearcomplex task based on multiple measurable and non-measurable factorsthat can cause an injury.

As explained in more detail below, the technical solutions describedherein include the implementation of a wearable device equipped withmultiple sensors that collects motion data from individuals and predictsinjuries utilizing machine learning techniques.

FIG. 1 illustrates an example of an implementation of an injuryprediction system, in accordance with one or more embodiments of thepresent disclosure. In some embodiments, the injury prediction system100 can include a communication bus 101, a processor 115, aclassification system 117, a system memory (RAM) 109, a read-only memory(ROM) 119, a record database 103, a set of sensors 121, an input/outputdevice interface such 113, and a network communication interface 111.

In some embodiments, the communication bus 101 collectively representssystem, peripheral, and/or chipset buses that communicatively connectthe numerous internal devices of the system 100. The communication bus101 may be a physical interface for interconnecting the variouscomponents. In some embodiments, the communication bus 101 may be anetwork interface, router, switch, or other communication interface.

In some embodiments, the system 100 can include a processor 115configured to perform instructions provided via the bus 101 by, e.g.,instructions retrieved from accessing data stored in memories 109 and119 via the communication bus 101. In some embodiments, theRead-Only-Memory (ROM) 119 may include a non-volatile storage device,such as, e.g., a magnetic disk hard drive, a solid-state drive, flashmemory, or other non-volatile memory and combinations thereof. In someembodiments, system memory 109 may include a volatile memory, such as,e.g., random access memory (RAM) including dynamic RAM and/or staticRAM, among other volatile memory devices and combinations thereof. Insome embodiments, system memory 109 may store data resulting fromprocessing operations, a cache, or buffer of data to be used forprocessing operations, operation logs, among other data related to theoperation of system 100.

In some embodiments, a record database 103 can store data record sets105 and 107. In some embodiments, the system 100 may receive, store, orhave access to multiple data records stored in the record database 103.Data record sets 105 and 107 can include values captured via sensors121. Such data records can be associated with movements or motionsperformed by the same or different users.

In some embodiments, the sensors 121 can include one or more of anaccelerometer, a gyroscope, a yaw sensor, a pitch sensor, a roll sensor,a magnetometer sensor, or other suitable sensors. In some embodimentssensors 121 can be strapped to a person or worn in a wearable device(not shown in FIG. 1). In such a case, the sensors 121 can communicatewith the system 100 via a wireless or wired communication channel. Insome implementations, the wearable device can contain the sensors 121and other components of the system 100 shown in FIG. 1.

In some embodiments, the classification system 117 can determine usermovements and predict user injuries. In some implementations, theclassification system 117 can include a data processor 123, a featureextraction engine 125, and an injury prediction engine 127. As furtherdescribed below, the data processor 123 can compute raw data valuescaptured via the sensors 121 and transform such data values intopre-processed data sets. The feature extraction engine 125 utilize thepre-processed data sets generated by the data processor 123 to generate,for example, multiple time-domain and frequency domain features. Theinjury prediction engine 127 can implement a machine learning model.Such a machine learning model, can use the features generated by thefeature extraction engine 125 to predict when a user will suffer aninjury.

In some embodiments the sensors 121 can collect or capture data relatedto a user's movement at a suitable frequency for characterizing themotion of the user. In some embodiments, the frequency may be selectedas any suitable frequency or range of frequencies for data collection,such as any frequency or range of frequencies greater than or equal to0.05 Hertz (Hz) or greater than or equal to 0.1 Hz. In some embodiments,the frequency or range of frequencies may be as high as 1000 Hz. In someembodiments, the frequency may be selected as, e.g., between within therange of 0.01 to 1000 Hz (inclusive), or may be within 0.1 to 250 Hz(inclusive) or other suitable range, such as, e.g., greater than orequal to 0.05 Hz, greater than or equal to 0.1 Hz, greater than or equalto 1 Hz, greater or equal to 5 Hz, greater than or equal to 10 Hz,greater than or equal to 12 Hz, greater than or equal to 15 Hz, greaterthan or equal to 20 Hz, greater than or equal to 25 Hz, greater than orequal to 30 Hz, greater than or equal to 35 Hz, greater than or equal to40 Hz, greater than or equal to 45 Hz, greater than or equal to 50,between 1 Hz and 1000 Hz, between 1 Hz and 250 Hz, or any other suitabledata collection frequency. In some embodiments, a frequency of 12.5 Hzor other suitable frequency is employed to balance movement detail withresource usage. Accordingly, in instances when the sensors 121 capturedata at 12.5 Hz, a new raw data set can be generated every 12.5 timesper second.

In some embodiments, a user may interact with the system 100 via aninput/output interface 113. The input/output interface 113 may include,one or more input peripherals and output peripherals. Input peripheralscan include, for example, push buttons, touch screens, switches,keyboards, or other suitable interface that can be utilized by a user tointeract with the system 100. The output peripherals can include, forexample, touch screens, displays, light emitting diodes, vibratingmotors, speakers, or other suitable output peripherals.

As shown in FIG. 1, the communication bus 101 can also couple the system100 to a network through a network communication interface 111.Accordingly, the system 100 can be part of a network of computers (forexample a local area network (“LAN”), a wide area network (“WAN”), or anIntranet, or a network of networks, for example, the Internet and/orcloud environment. Thus, the system 100 can receive inputs and transmitoutputs or results to other computing devices via the networkcommunication interface 111.

FIG. 2 is a flowchart illustrating examples of computations executed byinjury prediction system 100, in accordance with one or more embodimentsof the present disclosure. In some instances, sensors 201 can beactivated and worn by a person. The sensors 201 can transmit activitydata or raw sensor data to the system 100 as shown at 203. Someexamples, of such activity data can include captured data associatedwith users' yaw motions, pitch motions, roll motions, activity datacaptured via an accelerometer, activity data capture via a gyroscope,activity data acquired via a magnetometer, and other suitable raw sensordata.

In some embodiments, the captured raw sensor data 203 can be processedby the data processor 123, for example, by passing the raw sensor datathrough a low pass noise filter as shown at 205 or other suitablepre-processing computation. Thereafter, at 207 windows data structuresare generated containing values pre-processed by the data processor 123,for examples values filtered by the low pass noise filter 205.

In some embodiments, each raw data set may include data points from eachsensor 121, such as, e.g., a timestamp, a yaw measurement, a pitchmeasurement, a roll measurement, an x-axis acceleration (acc_x)measurement, a y-axis acceleration (acc_y) measurement, a z-axisacceleration (acc_z) measurement, an x-axis gyroscopic (gyro_x)measurement, a y-axis gyroscopic (gyro_y) measurement, a z-axisgyroscopic (gyro_z) measurement, or any other sensor measurement todetect movement or any combination thereof. In some embodiments, eachraw data set may be provided as structured or unstructured data, suchas, e.g., comma-separated-values (CSV), a data table (e.g., a row and/orcolumn of the data points in a table), a vector, key-value pairs, or anyother suitable structured or unstructured data. In some embodiments, forexample, the data points may be entered as a row in a table of raw data,where each row is ordered according to the timestamp.

In some embodiments, the data processor 123 can split raw data sets intofixed windows implemented as data structure as the one shown at 207 withan overlap between adjacent windows. In some embodiments, the overlapmay be, e.g., a 75% overlap, a 70% overlap, a 65% overlap, a 60%overlap, a 55% overlap, a 50% overlap, a 45% overlap, a 40% overlap, a35% overlap, a 30% overlap, a 25% overlap, a 20% overlap, a 15% overlap,a 10% overlap between adjacent windows or other suitable overlap. Theoverlap refers to a ratio of an interval of time spanned by a fixedwindow and an interval of time spanned by an overlap between adjacentfixed windows.

In some embodiments, the window data structure of 207 may include awindow of time that is subdivided into sub-windows, where eachsub-window is labelled with the injury prediction engine 127. In someembodiments, by labelling each sub-window, activities and/or tasks maybe identified for the window data structure based on the labels for thesub-windows. In some embodiments, rather than labelling the window datastructure, the injury prediction engine 127 may label groups ofsub-windows based on the labels of the sub-windows in the group.

In some embodiments, the window data structure and each sub-window maybe of fixed length. Thus, the number of sub-windows within the windowdata structure may be based on the length the window data structure andeach sub-window and the overlap between adjacent sub-windows. Forexample, in an instance of sampling data via sensors 121 for 100 secondsat 12.5 Hz, 1250 raw data sets can be captured and if the window 207 isfixed to a value of 10 seconds then there may be 19 windows consideringa 5 second overlap between the window; a first window including raw datasets captured during seconds 0-10, a second window including raw datasets captured during seconds 5-15, and so on until a last windowincluding raw data sets captured during seconds 90-100. Each window canhave 125 rows of raw data, wherein each row includes a raw data set.

In some embodiments, the feature extraction engine 125 can computedifferent features on based on the data included in the instantiatedwindow data structures 207. In some embodiments, the features mayinclude time-domain features and/or frequency-domain features for eachsub-window of raw data. Example of such features can include, a windowstart time, a window end time, mean sensor values, standard deviation ofsensor values, variance of sensor values, entropy of sensor values,average of maximum and minimum sensor values, number of peaks identifiedin a Fast Fourier Transform (FFT) signal, number of peaks identified ina Power Spectral Density (PSD) signal, number of peaks identified in anauto-correlation signal, X and Y coordinates of peaks in each of theidentified peaks in the FFT signal (e.g., the first five peaks or othersuitable number of peaks), the PSD signal, and the auto-correlationsignal, cross-correlation measures, zero crossing measures, peak toaverage ratio, signal magnitude area, signal vector magnitude,differential signal vector magnitude, integration measures, magnitudemeasures, Hjorth parameters (Mobility, Complexity), and/or othersuitable features such as the integral of the accelerometer signal, theintegral of the gyroscope signal, the fast Fourier transform of theaccelerometer signal, the fast Fourier transform of the gyroscopesignal, the power spectral density of the accelerometer signal, thepower spectral density of the gyroscope signal, the autocorrelation ofthe accelerometer signal, the autocorrelation of the gyroscope signal,and other suitable signals.

Examples of such features can include user bending information 209,sagittal angles, twist angles, and/or lateral angles associated withuser movements as shown at 211; sagittal velocity, twist velocity,and/or lateral velocity associated with user movements as shown at 213;haptic feedback information associated with user movements as shown at215; summary statistics 217 associated with user movements (e.g., mean,standard deviation, and variance), and other suitable computations. Forexample, features calculated from the sensor data may include, e.g., anaverage twist velocity (avg_twist_velocity), a lift rate (lift_rate), amaximum flexion of a joint (max_flexion), an average flexion of a joint(average_flexion), a maximum lateral movement (max_lateral), an averagelateral movement (average_lateral), a maximum lateral movement velocity(max_lateral_velocity), a maximum rotational moment (max_moment), asafety score (safety_score), or other data representing movement or anycombination thereof.

In some embodiments, the feature extraction engine 125 can receivepre-processed sensor data from the data processor 123. The featureextraction engine 125, can compute or extract multiple features from thepre-processed sensor data, for example, average twist velocity, liftrate, maximum flexion, average flexion, maximum lateral motion, averagelateral motion, maximum lateral velocity, maximum moment, safety scores,and other suitable features. Likewise, the feature extraction engine 125can compute user experience (e.g., days), number of complete motionfiles associated with the user, number of bad bends performed by theuser (e.g., number of bad bends detected in a user's motion file), countof alarms emitted by the system 100 when the user is performing somedangerous or risky movements, maximum and/or minimum values of datacaptured by the sensors, and other suitable features.

In some embodiments, the features generated at 209, 211, 213, 215, and217 and other suitable features as discussed above, can be stored in ann-minute windowed feature list 221. The n-minute feature list caninclude features extracted from sensor data captured during an n-minutewindow time. In some instances, the trained machine learning model 219can utilize the values stored in the n-minute windowed feature list 221to predict near miss events, for example, near-miss injury events. Suchnear miss events can be stored by the system 100, and/or presented tothe user.

In some embodiments, the injury prediction engine (discussed withreference to FIG. 1) can implement the trained machine learning model219. The trained machine learning model 219 can be, for example, anovelty detection machine learning model. A novelty detection machinelearning model can classify data that differ in some respect from thedata available during the training phase of the machine learning model.In some instances, novelty detection machine learning models arereferred to “one-class classifiers”, because such models can beimplemented to describe “normal” training data. Novelty detectionmachine learning models can be used, for example, when the quantity ofavailable “abnormal” data is insufficient to construct explicit modelsfor non-normal classes. Application includes inference in datasets fromcritical systems, where the quantity of available normal data is verylarge, such that “normality” may be accurately modelled.

In some embodiments, the machine learning model 219 can be trained withhistorical or past motion data (e.g., sensor data and/or window datastructures) collected from users via the sensors 121. In someembodiments, such data (training data) can include data collected from auser prior to, during, and after such a user suffered an injury. In someimplementations, the machine learning model 219 can be trained from datacollected via the sensors 121 from, for example, users who have sufferedan injury (injured persons) and users who have not suffered an injury(non-injured persons).

In some embodiments, the training data can include historical motiondata collected from injured users before such users suffered an injury.Such training data can be labeled as “injured data.” Likewise, thetraining data can include motion data collected from non-injured users.Such training data can be labeled as “non-injured data.” Training datalabeled as “injured data” and “non-injured data” can be used toimplement different binary-prediction machine learning models trainedvia supervised machine learning techniques.

However, in some embodiments, only training data labeled as “non-injureddata” can be used to implement, for example, a novelty detection machinelearning model trained via unsupervised machine learning techniques. Thenovelty detection machine learning model may be configured to identifynovel motions and/or actions, where the novel motions and/or actionsinclude any motion and/or action that the novelty detection machinelearning model cannot classify as non-injured data. Thus, in someembodiments, the novelty detection machine learning model can beconfigured as an anomaly detection algorithm that is trained as aone-class classification algorithm to classify data as non-injured data.Thus, the novelty detection machine learning model may be trained ondata labelled as non-injured data to detect data that is indicative of anon-injury risk motion data, and any motion data that is not classifiedas non-injured data may be flagged as a near-risk event.

Some examples of machine learning models that can be used to implementthe machine learning model 219 can include density based machinelearning models such as a one-class support vector machine learningmodel or local outlier factor machine learning model, tree-based machinelearning models such as an isolation forest model, variance basedmachine learning models such a robust covariance machine learning model,or other suitable machine learning models.

In some embodiments, the trained machine learning model 219 canreceived, for example, unseen motion files e.g., n-minute feature list221 and classify the motion files as “Motion file close to non-injuredmotion” or “Motion file NOT close to non-injured motion.” The motionfiles classified as “Motion file NOT close to non-injured motion” can beinterpreted as “Near miss of Injury.” In some implementations, aprediction of a future user injury can be computed as a function ofinstances classified as a “Near miss of Injury.” Accordingly, in someimplementations, the system 100 can provide an action insight to theuser, for example, recommendations related to how to perform a movementin a safety manner to prevent a future injury.

In some embodiments, a novelty detection machine learning model can beimplemented utilizing an elliptical envelope computational technique. Anelliptical envelope computational technique can model data as a highdimensional Gaussian distribution with possible covariances betweenfeature dimensions. Such model can identify a boundary ellipse thatcontains most of the data. Any data outside of the ellipse can beclassified as anomalous e.g., a “Motion file NOT close to non-injuredmotion” or a “Near miss of injury.” In some implementations, theElliptical Envelope routine can use a FAST-Minimum Covariancedeterminate to estimate the size and shape of the ellipse. In someimplementation, the machine learning models discussed above can reach anaccuracy of at least 93.8% i.e., the different implementations ofmachine learning models discussed above can accurately predict when auser is exposed to a “Near miss of injury” at least 93.8% of the time.

In some embodiments, data imbalance, for example imbalance between datalabeled as “injured data” and “non-injured data” can be mitigated by thesystem 100 by the application of multiple computation techniquesincluding, synthetic minority oversampling techniques, up-samplingtechniques, under-sampling techniques, weighting techniques, or othersuitable techniques to mitigate data imbalance.

In some embodiments, only non-injured training data can be used to trainthe machine learning model 219. For example, the non-injured trainingdata can be split into a training data set and a testing dataset, thetesting dataset can also include injured data to evaluate the capacityof the machine learning model to identify novel or abnormal instances.

FIG. 3 is a flowchart illustrating examples of computations executed bythe injury prediction system 100, in accordance with one or moreembodiments of the present disclosure. In some instances, a user 301(e.g, an industrial athlete) can perform several actions, activities,and/or tasks continuously over time. In some instances, a motion datafile 303 can be generated containing sensor data captured by sensors 121(discussed with reference to FIG. 1) while the user performs actions,activities and/or tasks. The motion data file 303 can include timestampsindicating when a motion is initiated or terminated, and data capturedby sensors 121 including yaw sensors, pitch sensors, roll sensors,accelerometer sensors, magnetometer sensors, and gyroscope sensors on 3axes values. In some implementations, the sensor data can be captured ata frequency of 12.5 Hz, however any suitable sampling rate may beemployed, such as, e.g., such as any frequency or range of frequenciesgreater than or equal to 0.05 Hertz (Hz) or greater than or equal to 0.1Hz. In some embodiments, the frequency or range of frequencies may be ashigh as 1000 Hz. In some embodiments, the frequency may be selected as,e.g., between within the range of 0.01 to 1000 Hz (inclusive), or may bewithin 0.1 to 250 Hz (inclusive) or other suitable range, such as, e.g.,greater than or equal to 0.05 Hz, greater than or equal to 0.1 Hz,greater than or equal to 1 Hz, greater or equal to 5 Hz, greater than orequal to 10 Hz, greater than or equal to 12 Hz, greater than or equal to15 Hz, greater than or equal to 20 Hz, greater than or equal to 25 Hz,greater than or equal to 30 Hz, greater than or equal to 35 Hz, greaterthan or equal to 40 Hz, greater than or equal to 45 Hz, greater than orequal to 50, between 1 Hz and 1000 Hz, between 1 Hz and 250 Hz, or anyother suitable data collection frequency. In some implementations, theuser can perform various motions over time represented at 305.Thereafter, the classification system 117 via one or more machinelearning models represented at 307 can infer or identify when suchmotions correspond to, for example, a “Motion NOT close to a non-injuredmotion,” i.e., a “Near Miss.”

In some embodiments, the “Near Miss” represented at 309 detected by theone or more machine learning models 307 can be used to predict a userinjury as shown at 311. For example, a user injury can be predicted asfunction of the number of instances classified as “Near Miss” by the oneor more machine learning models 307.

In some embodiments, the injury prediction system 100 can transmit aninjury alert message 313 to the user 301 via, for example, input/outputdevice interface 113 (discussed with reference to FIG. 1). For instance,an injury alert message can include a date (Month/Day/Year) and apercentage of time the user 301 spent closed to injury as shown at 313.

FIG. 4 depicts a block diagram of an exemplary computer-based system andplatform 400 in accordance with one or more embodiments of the presentdisclosure. However, not all of these components may be required topractice one or more embodiments, and variations in the arrangement andtype of the components may be made without departing from the spirit orscope of various embodiments of the present disclosure. In someembodiments, the illustrative computing devices and the illustrativecomputing components of the exemplary computer-based system and platform400 may be configured to manage a large number of members and concurrenttransactions, as detailed herein. In some embodiments, the exemplarycomputer-based system and platform 400 may be based on a scalablecomputer and network architecture that incorporates varies strategiesfor assessing the data, caching, searching, and/or database connectionpooling. An example of the scalable architecture is an architecture thatis capable of operating multiple servers.

In some embodiments, referring to FIG. 4, member computing device 402,member computing device 403 through member computing device 404 (e.g.,clients) of the exemplary computer-based system and platform 400 mayinclude virtually any computing device capable of receiving and sendinga message over a network (e.g., cloud network), such as network 405, toand from another computing device, such as servers 406 and 407, eachother, and the like. In some embodiments, the member devices 402-404 maybe personal computers, multiprocessor systems, microprocessor-based orprogrammable consumer electronics, network PCs, and the like. In someembodiments, one or more member devices within member devices 402-404may include computing devices that typically connect using a wirelesscommunications medium such as cell phones, smart phones, pagers, walkietalkies, radio frequency (RF) devices, infrared (IR) devices, CBscitizens band radio, integrated devices combining one or more of thepreceding devices, or virtually any mobile computing device, and thelike. In some embodiments, one or more member devices within memberdevices 402-404 may be devices that are capable of connecting using awired or wireless communication medium such as a PDA, POCKET PC,wearable computer, a laptop, tablet, desktop computer, a netbook, avideo game device, a pager, a smart phone, an ultra-mobile personalcomputer (UMPC), and/or any other device that is equipped to communicateover a wired and/or wireless communication medium (e.g., NFC, RFID,NBIOT, 3G, 4G, 5G, GSM, GPRS, WiFi, WiMax, CDMA, OFDM, OFDMA, LTE,satellite, ZigBee, etc.). In some embodiments, one or more memberdevices within member devices 402-404 may include may run one or moreapplications, such as Internet browsers, mobile applications, voicecalls, video games, videoconferencing, and email, among others. In someembodiments, one or more member devices within member devices 402-404may be configured to receive and to send web pages, and the like. Insome embodiments, an exemplary specifically programmed browserapplication of the present disclosure may be configured to receive anddisplay graphics, text, multimedia, and the like, employing virtuallyany web based language, including, but not limited to StandardGeneralized Markup Language (SMGL), such as HyperText Markup Language(HTML), a wireless application protocol (WAP), a Handheld Device MarkupLanguage (HDML), such as Wireless Markup Language (WML), WMLScript, XML,JavaScript, and the like. In some embodiments, a member device withinmember devices 402-404 may be specifically programmed by either Java,.Net, QT, C, C++, Python, PHP and/or other suitable programminglanguage. In some embodiment of the device software, device control maybe distributed between multiple standalone applications. In someembodiments, software components/applications can be updated andredeployed remotely as individual units or as a full software suite. Insome embodiments, a member device may periodically report status or sendalerts over text or email. In some embodiments, a member device maycontain a data recorder which is remotely downloadable by the user usingnetwork protocols such as FTP, SSH, or other file transfer mechanisms.In some embodiments, a member device may provide several levels of userinterface, for example, advance user, standard user. In someembodiments, one or more member devices within member devices 402-404may be specifically programmed include or execute an application toperform a variety of possible tasks, such as, without limitation,messaging functionality, browsing, searching, playing, streaming ordisplaying various forms of content, including locally stored oruploaded messages, images and/or video, and/or games.

In some embodiments, the exemplary network 405 may provide networkaccess, data transport and/or other services to any computing devicecoupled to it. In some embodiments, the exemplary network 405 mayinclude and implement at least one specialized network architecture thatmay be based at least in part on one or more standards set by, forexample, without limitation, Global System for Mobile communication(GSM) Association, the Internet Engineering Task Force (IETF), and theWorldwide Interoperability for Microwave Access (WiMAX) forum. In someembodiments, the exemplary network 405 may implement one or more of aGSM architecture, a General Packet Radio Service (GPRS) architecture, aUniversal Mobile Telecommunications System (UMTS) architecture, and anevolution of UMTS referred to as Long Term Evolution (LTE). In someembodiments, the exemplary network 405 may include and implement, as analternative or in conjunction with one or more of the above, a WiMAXarchitecture defined by the WiMAX forum. In some embodiments and,optionally, in combination of any embodiment described above or below,the exemplary network 405 may also include, for instance, at least oneof a local area network (LAN), a wide area network (WAN), the Internet,a virtual LAN (VLAN), an enterprise LAN, a layer 3 virtual privatenetwork (VPN), an enterprise IP network, or any combination thereof. Insome embodiments and, optionally, in combination of any embodimentdescribed above or below, at least one computer network communicationover the exemplary network 405 may be transmitted based at least in parton one of more communication modes such as but not limited to: NFC,RFID, Narrow Band Internet of Things (NBIOT), ZigBee, 3G, 4G, 5G, GSM,GPRS, WiFi, WiMax, CDMA, OFDM, OFDMA, LTE, satellite and any combinationthereof. In some embodiments, the exemplary network 405 may also includemass storage, such as network attached storage (NAS), a storage areanetwork (SAN), a content delivery network (CDN) or other forms ofcomputer or machine readable media.

In some embodiments, the exemplary server 406 or the exemplary server407 may be a web server (or a series of servers) running a networkoperating system, examples of which may include but are not limited toApache on Linux or Microsoft IIS (Internet Information Services). Insome embodiments, the exemplary server 406 or the exemplary server 407may be used for and/or provide cloud and/or network computing. Althoughnot shown in FIG. 4, in some embodiments, the exemplary server 406 orthe exemplary server 407 may have connections to external systems likeemail, SMS messaging, text messaging, ad content providers, etc. Any ofthe features of the exemplary server 406 may be also implemented in theexemplary server 407 and vice versa.

In some embodiments, one or more of the exemplary servers 406 and 407may be specifically programmed to perform, in non-limiting example, asauthentication servers, search servers, email servers, social networkingservices servers, Short Message Service (SMS) servers, Instant Messaging(IM) servers, Multimedia Messaging Service (MMS) servers, exchangeservers, photo-sharing services servers, advertisement providingservers, financial/banking-related services servers, travel servicesservers, or any similarly suitable service-base servers for users of themember computing devices 401-404.

In some embodiments and, optionally, in combination of any embodimentdescribed above or below, for example, one or more exemplary computingmember devices 402-404, the exemplary server 406, and/or the exemplaryserver 407 may include a specifically programmed software module thatmay be configured to send, process, and receive information using ascripting language, a remote procedure call, an email, a tweet, ShortMessage Service (SMS), Multimedia Message Service (MMS), instantmessaging (IM), an application programming interface, Simple ObjectAccess Protocol (SOAP) methods, Common Object Request BrokerArchitecture (CORBA), HTTP (Hypertext Transfer Protocol), REST(Representational State Transfer), SOAP (Simple Object TransferProtocol), MLLP (Minimum Lower Layer Protocol), or any combinationthereof.

FIG. 5 depicts a block diagram of another exemplary computer-basedsystem and platform 500 in accordance with one or more embodiments ofthe present disclosure. However, not all of these components may berequired to practice one or more embodiments, and variations in thearrangement and type of the components may be made without departingfrom the spirit or scope of various embodiments of the presentdisclosure. In some embodiments, the member computing device 502 a,member computing device 502 b through member computing device 502 nshown each at least includes a computer-readable medium, such as arandom-access memory (RAM) 508 coupled to a processor 510 or FLASHmemory. In some embodiments, the processor 510 may executecomputer-executable program instructions stored in memory 508. In someembodiments, the processor 510 may include a microprocessor, an ASIC,and/or a state machine. In some embodiments, the processor 510 mayinclude, or may be in communication with, media, for examplecomputer-readable media, which stores instructions that, when executedby the processor 510, may cause the processor 510 to perform one or moresteps described herein. In some embodiments, examples ofcomputer-readable media may include, but are not limited to, anelectronic, optical, magnetic, or other storage or transmission devicecapable of providing a processor, such as the processor 510 of membercomputing device 502 a, with computer-readable instructions. In someembodiments, other examples of suitable media may include, but are notlimited to, a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM,RAM, an ASIC, a configured processor, all optical media, all magnetictape or other magnetic media, or any other medium from which a computerprocessor can read instructions. Also, various other forms ofcomputer-readable media may transmit or carry instructions to acomputer, including a router, private or public network, or othertransmission device or channel, both wired and wireless. In someembodiments, the instructions may comprise code from anycomputer-programming language, including, for example, C, C++, VisualBasic, Java, Python, Perl, JavaScript, and etc.

In some embodiments, member computing devices 502 a through 502 n mayalso comprise a number of external or internal devices such as a mouse,a CD-ROM, DVD, a physical or virtual keyboard, a display, or other inputor output devices. In some embodiments, examples of member computingdevices 502 a through 502 n (e.g., clients) may be any type ofprocessor-based platforms that are connected to a network 506 such as,without limitation, personal computers, digital assistants, personaldigital assistants, smart phones, pagers, digital tablets, laptopcomputers, Internet appliances, and other processor-based devices. Insome embodiments, member computing devices 502 a through 502 n may bespecifically programmed with one or more application programs inaccordance with one or more principles/methodologies detailed herein. Insome embodiments, member computing devices 502 a through 502 n mayoperate on any operating system capable of supporting a browser orbrowser-enabled application, such as Microsoft™ Windows™, and/or Linux.In some embodiments, member computing devices 502 a through 502 n shownmay include, for example, personal computers executing a browserapplication program such as Microsoft Corporation's Internet Explorer™,Apple Computer, Inc.'s Safari™, Mozilla Firefox, and/or Opera. In someembodiments, through the member computing client devices 502 a through502 n, user 512 a, user 512 b through user 512 n, may communicate overthe exemplary network 506 with each other and/or with other systemsand/or devices coupled to the network 506. As shown in FIG. 5, exemplaryserver devices 504 and 513 may include processor 505 and processor 514,respectively, as well as memory 517 and memory 516, respectively. Insome embodiments, the server devices 504 and 513 may be also coupled tothe network 506. In some embodiments, one or more member computingdevices 502 a through 502 n may be mobile clients.

In some embodiments, at least one database of exemplary databases 507and 515 may be any type of database, including a database managed by adatabase management system (DBMS). In some embodiments, an exemplaryDBMS-managed database may be specifically programmed as an engine thatcontrols organization, storage, management, and/or retrieval of data inthe respective database. In some embodiments, the exemplary DBMS-manageddatabase may be specifically programmed to provide the ability to query,backup and replicate, enforce rules, provide security, compute, performchange and access logging, and/or automate optimization. In someembodiments, the exemplary DBMS-managed database may be chosen fromOracle database, IBM DB2, Adaptive Server Enterprise, FileMaker,Microsoft Access, Microsoft SQL Server, MySQL, PostgreSQL, and a NoSQLimplementation. In some embodiments, the exemplary DBMS-managed databasemay be specifically programmed to define each respective schema of eachdatabase in the exemplary DBMS, according to a particular database modelof the present disclosure which may include a hierarchical model,network model, relational model, object model, or some other suitableorganization that may result in one or more applicable data structuresthat may include fields, records, files, and/or objects. In someembodiments, the exemplary DBMS-managed database may be specificallyprogrammed to include metadata about the data that is stored.

In some embodiments, the exemplary inventive computer-basedsystems/platforms, the exemplary inventive computer-based devices,and/or the exemplary inventive computer-based components of the presentdisclosure may be specifically configured to operate in a cloudcomputing/architecture 525 such as, but not limiting to: infrastructurea service (IaaS) 710, platform as a service (PaaS) 708, and/or softwareas a service (SaaS) 706 using a web browser, mobile app, thin client,terminal emulator or other endpoint 704. FIGS. 6 and 7 illustrateschematics of exemplary implementations of the cloudcomputing/architecture(s) in which the exemplary inventivecomputer-based systems/platforms, the exemplary inventive computer-baseddevices, and/or the exemplary inventive computer-based components of thepresent disclosure may be specifically configured to operate.

Throughout the specification, the following terms take the meaningsexplicitly associated herein, unless the context clearly dictatesotherwise. The phrases “in one embodiment” and “in some embodiments” asused herein do not necessarily refer to the same embodiment(s), thoughit may. Furthermore, the phrases “in another embodiment” and “in someother embodiments” as used herein do not necessarily refer to adifferent embodiment, although it may. Thus, as described below, variousembodiments may be readily combined, without departing from the scope orspirit of the present disclosure.

In addition, the term “based on” is not exclusive and allows for beingbased on additional factors not described, unless the context clearlydictates otherwise. In addition, throughout the specification, themeaning of “a,” “an,” and “the” include plural references. The meaningof “in” includes “in” and “on.”

In some embodiments, programmed computing systems with associateddevices can be configured to operate in the distributed networkenvironment, communicating with one another over one or more suitabledata communication networks (e.g., the Internet) and utilizing one ormore suitable data communication protocols.

In some embodiments, the material disclosed herein may be implemented inhardware and software or firmware or a combination of them or asinstructions stored on a non-transitory machine-readable medium, whichmay be read and executed by one or more processors. A machine-readablemedium may include any medium and/or mechanism for storing ortransmitting information in a form readable by a machine (e.g., acomputing device). For example, a machine-readable medium may includeread only memory (ROM); random access memory (RAM); magnetic diskstorage media; optical storage media; flash memory devices, and others.In some embodiments, the non-transitory machine-readable medium caninclude one or more storage devices, and memory devices described above.

Examples of hardware elements may include processors, microprocessors,circuits, circuit elements (e.g., transistors, resistors, capacitors,inductors, and so forth), integrated circuits, Application SpecificIntegrated Circuits (ASIC), Programmable Logic Devices (PLD), DigitalSignal Processors (DSP), Field Programmable Gate Array (FPGA), logicgates, registers, semiconductor device, chips, microchips, chip sets,and so forth. In some embodiments, the one or more processors may beimplemented as a Complex Instruction Set Computer (CISC) or ReducedInstruction Set Computer (RISC) processors; x86 instruction setcompatible processors, multi-core, or any other microprocessor orCentral Processing Unit (CPU). In various implementations, the one ormore processors may be dual-core processor(s), dual-core mobileprocessor(s), and so forth.

Computer systems, and systems, as used herein, can include anycombination of hardware and software. Examples of software may includesoftware components, programs, applications, operating system software,firmware, software modules, routines, subroutines, functions, methods,procedures, software interfaces, Application Programming Interfaces(API), computer code, data, data variables, or any combination thereofthat can be processed by a computing device as computer-executableinstructions.

In some embodiments, one or more of computer-based systems of thepresent disclosure may include or be incorporated, partially or entirelyinto at least one Personal Computer (PC), laptop computer, tablet,portable computer, smart device (e.g., smart phone, smart tablet orsmart television), Mobile Internet Device (MID), messaging device, datacommunication device, server computer, and so forth.

In some embodiments, computer-based systems of the present disclosuremay be configured to utilize hardwired circuitry and/or hardwarecomponents that may be used in place of or in combination with softwareinstructions to implement system 100 consistent with principles of thedisclosure. Thus, implementations consistent with principles of thedisclosure are not limited to any specific combination of hardwarecircuitry or hardware components and/or software.

In some embodiments, software specifically programmed in accordance withone or more principles of the present disclosure may also be availableas a client-server software application, or as a web-enabled softwareapplication. For example, software specifically programmed in accordancewith one or more principles of the present disclosure may also beembodied as a software package installed on a hardware device.

In some embodiments, computer-based systems of the present disclosuremay be configured to handle numerous concurrent users that may be, butis not limited to, at least 100 (e.g., but not limited to, 100-999), atleast 1,000 (e.g., but not limited to, 1,000-9,999), at least 10,000(e.g., but not limited to, 10,000-99,999), at least 100,000. As usedherein, the term “user” shall have a meaning of at least one user.

The aforementioned examples are, of course, illustrative and notrestrictive.

At least some aspects of the present disclosure will now be describedwith reference to the following numbered clauses.

1. An apparatus, comprising:

-   -   a processor;    -   a set of sensors; and    -   a non-transitory memory storing instructions which, when        executed by the processor, causes the processor to:        -   capture raw sensor data while a user performs a series of            activities wearing the set of sensors for a predetermined            time;        -   convert the raw sensor data into a set of feature values;        -   input the set of feature values into a trained machine            learning model;        -   output by the trained machine learning model a percentage of            the predetermined time correlated with a likelihood that the            user will suffer an injury; and        -   transmit to the user at least one action insight message            comprising a recommendation to decrease the likelihood that            the user will suffer the injury.

Publications cited throughout this document are hereby incorporated byreference in their entirety. While one or more embodiments of thepresent disclosure have been described, it is understood that theseembodiments are illustrative only, and not restrictive, and that manymodifications may become apparent to those of ordinary skill in the art,including that various embodiments of the methodologies, the systems,and the devices described herein can be utilized in any combination witheach other. Further still, the various steps may be carried out in anydesired order (and any desired steps may be added and/or any desiredsteps may be eliminated).

What is claims is:
 1. A method comprising: receiving, by at least oneprocessor, from at least one device, time-varying movement data of auser; wherein the at least one device comprises at least one of: animaging device, an accelerometer, or a gyroscope; wherein thetime-varying movement data comprises at least one movement data vectorthat represents at least one movement performed by the user; extracting,by the at least one processor, at least one motion feature vector basedat least in part on the time-varying data; wherein the at least onemotion feature vector comprises an encoding of at least one of: at leastone time-domain feature, or at least one frequency domain feature;wherein the at least one motion feature vector represents at least onecharacteristic of the at least one movement performed by the user;utilizing, by the at least one processor, at least one injury predictionmodel to predict an injury risk score for the at least one movement asindicating increased risk of injury based at least in part on adifference between the at least one motion feature vector and historicalmotion feature vectors; wherein the historical motion feature vectorsare associated with historical motion data representative of historicaltime-varying data associated with safe movements performed by at leastone user; and generating, by the at least one processor, an injury alertmessage based at least in part on the injury risk score exceeding athreshold value.
 2. The method as recited in claim 1, wherein theimaging device comprises a camera.
 3. The method as recited in claim 1,wherein the at least one injury prediction model comprises a rules-basedalgorithm.
 4. The method as recited in claim 1, wherein the at least oneinjury prediction model comprises at least one of: a machine learningclassifier model, a novelty detection model, density based machinelearning models, tree-based machine learning models, or variance basedmachine learning models.
 5. The method as recited in claim 1, whereinthe time-varying movement data comprises at least one of: raw datacaptured by the at least one device, or derived data produced byprocessing of the raw data.
 6. The method as recited in claim 1, whereinthe at least one injury prediction model is configured to: determine amovement peak metric based at least in part on the at least one motionfeature vector, wherein the movement peak metric is representative of agreatest value associated with the at least one motion feature,determine that the at least one movement indicates the increased risk ofinjury based at least in part on the movement peak metric.
 7. The methodas recited in claim 1, further comprising: receiving, by the at leastone processor, at least one first historical motion feature vector;receiving, by the at least one processor, at least one non-injury eventlabel associated with the at least one first historical motion featurevectors; receiving, by the at least one processor, at least one secondhistorical motion feature vector; receiving, by the at least oneprocessor, at least one injury event label associated with the at leastone second historical motion feature vectors; and training, by the atleast one processor, the at least one injury prediction model with theat least one first historical motion feature vectors, the at least onenon-injury event label, the at least one second historical motionfeature vectors, and the at least one injury event label in order topredict a non-injury event, an injury event, or both in the time-varyingsignal.
 8. The method as recited in claim 1, wherein the at least onemotion feature vector comprises at least one of: at least one yawmeasurement, at least one pitch measurement, at least one rollmeasurement, at least one x-axis acceleration measurement, at least oney-axis acceleration measurement, at least one z-axis accelerationmeasurement, at least one x-axis gyroscopic measurement, at least oney-axis gyroscopic measurement, at least one z-axis gyroscopicmeasurement, sagittal angle, twist angle, lateral angle, sagittalvelocity, twist velocity, and lateral velocity.
 9. The method of claim1, further comprising: accessing, by the at least one processor, a userprofile associated with the user; wherein the user profile records arecorded injury risk score representative of a risk of injury to theuser; and modifying, by the at least one processor, the recorded injuryrisk score in the user profile based at least in part on the injury riskscore.
 10. A system comprising: at least one non-transitory computerreadable medium storing processor instructions; at least one processorin communication with the at least one non-transitory computer readablemedium, wherein the at least one processor is configured, upon executionof the processor instructions, to: receive, from at least one device,time-varying movement data of a user; wherein the at least one devicecomprises at least one of: an imaging device, an accelerometer, or agyroscope; wherein the time-varying movement data comprises at least onemovement data vector that represents at least one movement performed bythe user; extract at least one motion feature vector based at least inpart on the time-varying data; wherein the at least one motion featurevector comprises an encoding of at least one of: at least onetime-domain feature, or at least one frequency domain feature; whereinthe at least one motion feature vector represents at least onecharacteristic of the at least one movement performed by the user;utilize at least one injury prediction model to predict an injury riskscore for the at least one movement as indicating increased risk ofinjury based at least in part on a difference between the at least onemotion feature vector and historical motion feature vectors; wherein thehistorical motion feature vectors are associated with historical motiondata representative of historical time-varying data associated with safemovements performed by at least one user; and generate an injury alertmessage based at least in part on the injury risk score exceeding athreshold value.
 11. The system as recited in claim 10, wherein theimaging device comprises a camera.
 12. The system as recited in claim10, wherein the at least one injury prediction model comprises arules-based algorithm.
 13. The system as recited in claim 10, whereinthe at least one injury prediction model comprises at least one of: amachine learning classifier model, or a novelty detection model, densitybased machine learning models, tree-based machine learning models, orvariance based machine learning models.
 14. The system as recited inclaim 10, wherein the time-varying movement data comprises at least oneof: raw data captured by the at least one device, or derived dataproduced by processing of the raw data.
 15. The system as recited inclaim 10, wherein the at least one injury prediction model is configuredto: determine a movement peak metric based at least in part on the atleast one motion feature vector, wherein the movement peak metric isrepresentative of a greatest value associated with the at least onemotion feature, determine that the at least one movement indicates theincreased risk of injury based at least in part on the movement peakmetric.
 16. The system as recited in claim 10, wherein the at least oneprocessor is further configured to: receive at least one firsthistorical motion feature vector; receive at least one non-injury eventlabel associated with the at least one first historical motion featurevectors; receive at least one second historical motion feature vector;receive at least one injury event label associated with the at least onesecond historical motion feature vectors; and training the at least oneinjury prediction model with the at least one first historical motionfeature vectors, the at least one non-injury event label, the at leastone second historical motion feature vectors, and the at least oneinjury event label in order to predict a non-injury event, an injuryevent, or both in the time-varying signal.
 17. The system as recited inclaim 10, wherein the at least one motion feature vector comprises atleast one of: at least one yaw measurement, at least one pitchmeasurement, at least one roll measurement, at least one x-axisacceleration measurement, at least one y-axis acceleration measurement,at least one z-axis acceleration measurement, at least one x-axisgyroscopic measurement, at least one y-axis gyroscopic measurement, atleast one z-axis gyroscopic measurement, sagittal angle, twist angle,lateral angle, sagittal velocity, twist velocity, and lateral velocity.18. The system as recited in claim 10, wherein the at least oneprocessor is further configured to: access a user profile associatedwith the user; wherein the user profile records a recorded injury riskscore representative of a risk of injury to the user; and modify therecorded injury risk score in the user profile based at least in part onthe injury risk score.